#include <iostream>
#include <string>

using std::string;
using std::cout;
using std::endl;

#include "Token.h"
#include "TokenNode.h"
#include "Tokenizer.h"
#include "Parser.h"
#include "Differentiator.h"	
		
int main()
{	
	string str="b*x/a+10*x-c/x";	

	Tokenizer f(str);	
	printTokens(f.begin(), f.end());
	
	Parser p(f.begin(), f.end());	
	cout <<"Tokens Tree"<< endl;
	printNode(p.getRoot());
	cout << endl;	
	
	Differentiator d(p.getRoot(), "x");	
	printTokensResult(d.begin(), d.end());			
}



